﻿using System.Data;
using DataAccess;

namespace Business
{
    public class ReportesBusiness
    {
        public double TotalVentas { get; set; }
        public double TotalSobrantes { get; set; }
        
        public string ObtenerReporteFaltantes(int anio, int mesInicio, int mesFin)
        {
            var reportesDataAccess = new ReportesDataAccess();

            return reportesDataAccess.ObtenerReporteFaltantes(anio, mesInicio, mesFin);
        }

        public DataTable ObtenerResumenDeFaltantes(int anio, int mesInicio, int mesFin)
        {
            var reportesDataAccess = new ReportesDataAccess();
            var faltantes = reportesDataAccess.ObtenerResumenDeFaltantes(anio, mesInicio, mesFin);
            TotalVentas = 0;

            foreach (DataRow fila in faltantes.Rows)
            {
                foreach (DataColumn columna in faltantes.Columns)
                {
                    double datoParcial;
                    double.TryParse(fila[columna.ColumnName].ToString(), out datoParcial);
                    TotalVentas = TotalVentas + datoParcial;
                }
            }

            return faltantes;
        }

        public string ObtenerReporteSobrantes(int anio, int mesInicio, int mesFin)
        {
            var reportesDataAccess = new ReportesDataAccess();

            return reportesDataAccess.ObtenerReporteSobrantes(anio, mesInicio, mesFin);
        }

        public DataTable ObtenerResumenDeSobrantes(int anio, int mesInicio, int mesFin)
        {
            var reportesDataAccess = new ReportesDataAccess();
            var sobrantes = reportesDataAccess.ObtenerResumenDeSobrantes(anio, mesInicio, mesFin);
            TotalSobrantes = 0;

            foreach (DataRow fila in sobrantes.Rows)
            {
                foreach (DataColumn columna in sobrantes.Columns)
                {
                    double datoParcial;
                    double.TryParse(fila[columna.ColumnName].ToString(), out datoParcial);
                    TotalSobrantes = TotalSobrantes + datoParcial;
                }
            }

            return sobrantes;
        }

        public string ObtenerReporteVentasContado(int anio, int mesInicio, int mesFin)
        {
            var reportesDataAccess = new ReportesDataAccess();

            return reportesDataAccess.ObtenerReporteVentasAlContado(anio, mesInicio, mesFin);
        }

        public string ObtenerReporteVentasCredito(int anio, int mesInicio, int mesFin)
        {
            var reportesDataAccess = new ReportesDataAccess();

            return reportesDataAccess.ObtenerReporteVentasAlCredito(anio, mesInicio, mesFin);
        }

        public DataTable ObtenerResumenDeVentas(int anio, int mesInicio, int mesFin)
        {
            var reportesDataAccess = new ReportesDataAccess();
            var ventas = reportesDataAccess.ObtenerResumenDeVentas(anio, mesInicio, mesFin);
            TotalVentas = 0;

            foreach (DataRow fila in ventas.Rows)
            {
                foreach (DataColumn columna in ventas.Columns)
                {
                    double datoParcial;
                    double.TryParse(fila[columna.ColumnName].ToString(), out datoParcial);
                    TotalVentas = TotalVentas + datoParcial;
                }
            }

            return ventas;
        }


        /*public VentasViewModel ObtenerMeses()
        {
            var ventasDataAccess = new VentasDataAccess();
            var ventas = new VentasViewModel
            {
                Meses = ventasDataAccess.ObtenerMeses()
            };

            return ventas;
        }

        public void InsertarActualizarVentas(Ventas ventas)
        {
            var ventasDataAccess = new VentasDataAccess();
            ventasDataAccess.InsertarActualizarVentas(ventas);
        }*/
    }
}
